{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import torch\n",
    "import torch.nn as nn\n",
    "from modules import SAB, PMA\n",
    "import numpy as np\n",
    "\n",
    "\n",
    "def gen_data(batch_size, max_length=10, test=False):\n",
    "    length = np.random.randint(1, max_length + 1)\n",
    "    x = np.random.randint(1, 100, (batch_size, length))\n",
    "    y = np.max(x, axis=1)\n",
    "    x, y = np.expand_dims(x, axis=2), np.expand_dims(y, axis=1)\n",
    "    return x, y\n",
    "\n",
    "\n",
    "class SmallDeepSet(nn.Module):\n",
    "    def __init__(self, pool=\"max\"):\n",
    "        super().__init__()\n",
    "        self.enc = nn.Sequential(\n",
    "            nn.Linear(in_features=1, out_features=64),\n",
    "            nn.ReLU(),\n",
    "            nn.Linear(in_features=64, out_features=64),\n",
    "            nn.ReLU(),\n",
    "            nn.Linear(in_features=64, out_features=64),\n",
    "            nn.ReLU(),\n",
    "            nn.Linear(in_features=64, out_features=64),\n",
    "        )\n",
    "        self.dec = nn.Sequential(\n",
    "            nn.Linear(in_features=64, out_features=64),\n",
    "            nn.ReLU(),\n",
    "            nn.Linear(in_features=64, out_features=1),\n",
    "        )\n",
    "        self.pool = pool\n",
    "\n",
    "    def forward(self, x):\n",
    "        x = self.enc(x)\n",
    "        if self.pool == \"max\":\n",
    "            x = x.max(dim=1)[0]\n",
    "        elif self.pool == \"mean\":\n",
    "            x = x.mean(dim=1)\n",
    "        elif self.pool == \"sum\":\n",
    "            x = x.sum(dim=1)\n",
    "        x = self.dec(x)\n",
    "        return x\n",
    "\n",
    "\n",
    "class SmallSetTransformer(nn.Module):\n",
    "    def __init__(self,):\n",
    "        super().__init__()\n",
    "        self.enc = nn.Sequential(\n",
    "            SAB(dim_in=1, dim_out=64, num_heads=4),\n",
    "            SAB(dim_in=64, dim_out=64, num_heads=4),\n",
    "        )\n",
    "        self.dec = nn.Sequential(\n",
    "            PMA(dim=64, num_heads=4, num_seeds=1),\n",
    "            nn.Linear(in_features=64, out_features=1),\n",
    "        )\n",
    "\n",
    "    def forward(self, x):\n",
    "        x = self.enc(x)\n",
    "        x = self.dec(x)\n",
    "        return x.squeeze(-1)\n",
    "\n",
    "\n",
    "def train(model):\n",
    "    model = model.cuda()\n",
    "    optimizer = torch.optim.Adam(model.parameters(), lr=1e-4)\n",
    "    criterion = nn.L1Loss().cuda()\n",
    "    losses = []\n",
    "    for _ in range(500):\n",
    "        x, y = gen_data(batch_size=2 ** 10, max_length=10)\n",
    "        x, y = torch.from_numpy(x).float().cuda(), torch.from_numpy(y).float().cuda()\n",
    "        loss = criterion(model(x), y)\n",
    "        optimizer.zero_grad()\n",
    "        loss.backward()\n",
    "        optimizer.step()\n",
    "        losses.append(loss.item())\n",
    "    return losses"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Requirement already satisfied: seaborn in /home/deploy/.local/share/virtualenvs/set_transformer-z4_AG1QX/lib/python3.7/site-packages (0.9.0)\n",
      "Requirement already satisfied: matplotlib>=1.4.3 in /home/deploy/.local/share/virtualenvs/set_transformer-z4_AG1QX/lib/python3.7/site-packages (from seaborn) (3.1.0)\n",
      "Requirement already satisfied: scipy>=0.14.0 in /home/deploy/.local/share/virtualenvs/set_transformer-z4_AG1QX/lib/python3.7/site-packages (from seaborn) (1.3.0)\n",
      "Requirement already satisfied: numpy>=1.9.3 in /home/deploy/.local/share/virtualenvs/set_transformer-z4_AG1QX/lib/python3.7/site-packages (from seaborn) (1.16.4)\n",
      "Requirement already satisfied: pandas>=0.15.2 in /home/deploy/.local/share/virtualenvs/set_transformer-z4_AG1QX/lib/python3.7/site-packages (from seaborn) (0.24.2)\n",
      "Requirement already satisfied: python-dateutil>=2.1 in /home/deploy/.local/share/virtualenvs/set_transformer-z4_AG1QX/lib/python3.7/site-packages (from matplotlib>=1.4.3->seaborn) (2.8.0)\n",
      "Requirement already satisfied: kiwisolver>=1.0.1 in /home/deploy/.local/share/virtualenvs/set_transformer-z4_AG1QX/lib/python3.7/site-packages (from matplotlib>=1.4.3->seaborn) (1.1.0)\n",
      "Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /home/deploy/.local/share/virtualenvs/set_transformer-z4_AG1QX/lib/python3.7/site-packages (from matplotlib>=1.4.3->seaborn) (2.4.0)\n",
      "Requirement already satisfied: cycler>=0.10 in /home/deploy/.local/share/virtualenvs/set_transformer-z4_AG1QX/lib/python3.7/site-packages (from matplotlib>=1.4.3->seaborn) (0.10.0)\n",
      "Requirement already satisfied: pytz>=2011k in /home/deploy/.local/share/virtualenvs/set_transformer-z4_AG1QX/lib/python3.7/site-packages (from pandas>=0.15.2->seaborn) (2019.1)\n",
      "Requirement already satisfied: six>=1.5 in /home/deploy/.local/share/virtualenvs/set_transformer-z4_AG1QX/lib/python3.7/site-packages (from python-dateutil>=2.1->matplotlib>=1.4.3->seaborn) (1.12.0)\n",
      "Requirement already satisfied: setuptools in /home/deploy/.local/share/virtualenvs/set_transformer-z4_AG1QX/lib/python3.7/site-packages (from kiwisolver>=1.0.1->matplotlib>=1.4.3->seaborn) (41.0.1)\n"
     ]
    }
   ],
   "source": [
    "import sys\n",
    "!{sys.executable} -m pip install seaborn\n",
    "import seaborn as sns\n",
    "%matplotlib inline\n",
    "import matplotlib.pyplot as plt\n",
    "sns.set(rc={\"figure.figsize\": (8, 4)}, style=\"whitegrid\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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RJ9FIokWSXjCwYWnH0BrZ3hfG2fyVoOSJyHHgGeRGMhsaO9nxdouZkxuQFIjTPr25Sx7owdYZrm00DFsy8Q6R+L53EyOPmpfdpp9uNv10LqJLMRIZAyhFuW/y7qYCyzLTyAn6+Ql2PDGq2Rzk1BtV5nebVmWuQ3vER01qWjhIxLJKZ/eldk7j2ZboNL03xhwAfAVoDmVStUnk8lPADNTqdSfhnOA2wNPv7qGf7+8JnSfruvuKnZLcPS8KRyx75Syx+y6667Mnj2bww47jP333585c+Zwwgkn0NjYSE9PDxdeeCHXX389Y8aMobW1lc9//vM8/PDDXHDBBZx00kk88MADZa9fCkuXLuWee+6hsdFKmfze975HU1MT/f39PPjgg1x22WVceumlgEV28+bN45xzzuG+++7j8ssv59Zbb+WBBx5g55135sILLwSgu7uburo6rr32Wr761a/yp5uvA+CBW+9lzaqV3HfffZimybe+9S3uuecevvjFLwKWK+7mm28mkUig2VLcDQ0NPHD/fTzw4IP88Ac/4Morr+S8887juuuu4/rrr+fiiy/mpZde4sknn+S2224jGo3y9NNP88tf/pJbb70VgNdff50HH3zQl74LxRXhDkQ3QrnjhDMqft7grfbHNVdzxZkfd/vLDxYRVeHI/cp/r0QEs6rKQRU67Gm6UVT8WNIiUaxJFoqbYfWmC/z39XUkYqovGGyRXrEkfliMJEjq++42tuR7qJoxl/S7r5JJjIESclOSJBTu2RaJ0/H+rD8scLPB2o1a8qa1iDNMyarSFywSAwkTCX3s7pZgpHBdSbBIdCSbiCzc/FiK2/kqOjKNik5EyRDJZJje/xrRRDCRxL5XkEgE19aXjkq6r2fPGMU+ydKCpFuLSu3oK7AC6ycDj9nb3rK3f+iIZHtDlmWuueYali9fziuvvMKTTz7JjTfeyEMPPcSSJUtoaWnxua8kSWL16tUuAZTCQHPgYYcd5rvGggULuO222+jv70fXdSIRzx9bW1vLoYdafvG99tqLK664AoC9996bW2+9lUQiwbx58zjkkENC7/X6ay/zyWOOd6954okn8t///tclkk996lMkEn79pGOOOQZZlthr9p4oiuLef4899mDBggUAPP3007z99tt84QtfACwicCw3gP3226+IRKC0pdGbLvhUgyu1SAabtQVWe95t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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "models = [\n",
    "    (\"Set Transformer\", SmallSetTransformer()),\n",
    "    (\"Deep Sets (max)\", SmallDeepSet(\"max\")),\n",
    "    (\"Deep Sets (mean)\", SmallDeepSet(\"mean\")),\n",
    "    (\"Deep Sets (sum)\", SmallDeepSet(\"sum\")),\n",
    "]\n",
    "\n",
    "for _name, _model in models:\n",
    "    _losses = train(_model)\n",
    "    plt.plot(_losses, label=_name)\n",
    "plt.legend()\n",
    "plt.xlabel(\"Steps\")\n",
    "plt.ylabel(\"Mean Absolute Error\")\n",
    "plt.yscale(\"log\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
